package kr.or.kosta.otr.persistence.company;

import java.sql.SQLException;
import java.util.ArrayList;
import java.util.HashMap;

import kr.or.kosta.otr.vo.CompanyVO;

//기업id(고유id)/산업id(고유id)/지역id(고유id)/기업명/기업대표자/기업매출액/기업로고/기업정보/기업URL/기업주소/기업연봉/기업총점
//컬럼에 기업 전화번호가 없음
public interface CompanyDao {
	void addCompany(CompanyVO vo)throws SQLException;
	void updateCompany(CompanyVO vo)throws SQLException;
	void deleteCompany(int companyId)throws SQLException;
	CompanyVO getOneCompany(int companyId)throws SQLException;
	ArrayList<CompanyVO> getAllCompany()throws SQLException;
	ArrayList<CompanyVO> getCompanyByIndustry(String Industry)throws SQLException;
	ArrayList<CompanyVO> getCompanyByRegion(String region)throws SQLException;
	ArrayList<CompanyVO> getCompantBySalary(int salary)throws SQLException;
	ArrayList<CompanyVO> getCompanyInfo(HashMap<String,Object> map)throws SQLException;
	//마지막 getCompanyByTotalScore에 인자값 빠져서 추가함 5:44 서우리
	ArrayList<CompanyVO> getCompanyByTotalScore(int totalScore)throws SQLException;
	void setCompanyTotalScore(HashMap<String, Object> map) throws SQLException;
	CompanyVO checkCompany(HashMap<String, String> map ) throws SQLException;
	ArrayList<CompanyVO> customCompany(HashMap<String,Object> map)throws SQLException;
	CompanyVO getOneCompanyByName(String companyName)throws SQLException;
	//main
	int getTopScoreCompanyId() throws SQLException;
	int getTopCompanyIdInRegion() throws SQLException;
	int getTopCompanyIdInIndustry() throws SQLException;
	CompanyVO getSimpleCompany(int companyId) throws SQLException;
	ArrayList<Integer> getAllCompanyId() throws SQLException;
	ArrayList<CompanyVO> getCompanyInfoPage(HashMap<String,Object> map)throws SQLException;
	int getCompanyInfoTotal(HashMap<String,Object> map)throws SQLException;
	
}
